package com.xjrsoft.module.oa.service;

import com.xjrsoft.module.oa.dto.FileDto;
import com.xjrsoft.module.oa.dto.FilefolderDto;
import com.xjrsoft.module.oa.vo.FilefolderVo;
import com.xjrsoft.module.oa.vo.WpsFileVo;
import com.xjrsoft.module.upload.vo.UploadFileVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface IXjrOafilemanageService {

    List<Object> queryFileAndFolder(FileDto fileDto) throws Exception;

    Map<String,Object> addFileInfo(UploadFileVo uploadFileVo, MultipartFile multfile, String folderId) throws Exception;
    
    boolean logicDelete(String fileId) throws Exception;

    boolean delete(String fileId) throws Exception;

    WpsFileVo reviewOrEditFile(String fileId, String operation) throws Exception;

    boolean shareFileOrFileFolder(String fileId);

    List<Object> getFolderInfoByParentId(String parentId);

    boolean restoreFile(String fileId);

    boolean emptyTrash();

    boolean addFolder(FilefolderDto filefolderDto);

    boolean updateFileName(String fileId, String fileName) throws Exception;

    boolean updateFile(String fileId, MultipartFile multfile);

    List<FilefolderVo> getFileFolderTree();

    boolean removeFile(String fileId, String folderId);
}
